#!/usr/bin/env node

// 导入核心模块和自定义模块
import app from "../app.js";
import { createServer } from "http";
import { normalizePort, onError, onListening } from "./serverHelpers.js"; // 错误处理和监听逻辑
import debug from "debug"; // 引入debug模块，需确保支持ESM

const debugLog = debug("untitled2:server"); // 初始化debug日志

const port = normalizePort(process.env.PORT || "3000");
app.set("port", port);

// 创建HTTP服务器
const server = createServer(app);

// 监听指定端口
void (async () => {
  try {
    // 使用Promise包装监听逻辑以支持await
    await new Promise((resolve, reject) => {
      server.listen(port, resolve);
      server.on("error", reject);
    });
    onListening(server); // 监听成功回调
  } catch (error) {
    onError(error); // 错误处理
  }
})();
